	  �<  �   k820309    �
          11.1        }��_                                                                                                           
       hco_arr_mod.F90 HCO_ARR_MOD              ARR2D_HP ARR2D_I ARR2D_SP ARR3D_HP ARR3D_SP gen@HCO_ARRINIT gen@HCO_ARRASSERT gen@HCO_ARRCLEANUP                      @                             
                                                          	   u #HCO_ARRINIT_3D_HP    #HCO_ARRINIT_2D_HP 	   #HCO_ARRINIT_3D_SP    #HCO_ARRINIT_2D_SP    #HCO_ARRINIT_2D_I    #HCO_ARRVECINIT_3D_HP "   #HCO_ARRVECINIT_2D_HP *   #HCO_ARRVECINIT_3D_SP 1   #HCO_ARRVECINIT_2D_SP 9   #         @     @X                                              #ARR    #NX    #NY    #NZ    #RC              D P@                                   |               #ARR3D_HP              
@ @@                                                   
@ @@                                                   
@ @@                                                   
D @@                                          #         @     @X                           	                   #ARR 
   #NX    #NY    #RC              D P@                              
     d               #ARR2D_HP              
@ @@                                                   
@ @@                                                   
D @@                                          #         @     @X                                              #ARR    #NX    #NY    #NZ    #RC              D P@                                   |               #ARR3D_SP              
@ @@                                                   
@ @@                                                   
@ @@                                                   
D @@                                          #         @     @X                                              #ARR    #NX    #NY    #RC              D P@                                   d               #ARR2D_SP              
@ @@                                                   
@ @@                                                   
D @@                                          #         @     @X                                              #ARR    #NX    #NY     #RC !             D P@                                   d               #ARR2D_I              
@ @@                                                   
@ @@                                                    
D @@                              !            #         @     @X                            "                  #HCO_ARRVECINIT_3D_HP%ASSOCIATED #   #ARRVEC $   #NN %   #NX &   #NY '   #NZ (   #RC )                 @                            #     ASSOCIATED          D P@                              $            |                       &                                           #ARR3D_HP              
   @                              %                     
@ @@                              &                     
@ @@                              '                     
@ @@                              (                     
D @@                              )            #         @     @X                            *                  #HCO_ARRVECINIT_2D_HP%ASSOCIATED +   #ARRVEC ,   #NN -   #NX .   #NY /   #RC 0                 @                            +     ASSOCIATED          D P@                              ,            d                       &                                           #ARR2D_HP              
   @                              -                     
@ @@                              .                     
@ @@                              /                     
D @@                              0            #         @     @X                            1                  #HCO_ARRVECINIT_3D_SP%ASSOCIATED 2   #ARRVEC 3   #NN 4   #NX 5   #NY 6   #NZ 7   #RC 8                 @                            2     ASSOCIATED          D P@                              3            |       	                &                                           #ARR3D_SP              
   @                              4                     
@ @@                              5                     
@ @@                              6                     
@ @@                              7                     
D @@                              8            #         @     @X                            9                  #HCO_ARRVECINIT_2D_SP%ASSOCIATED :   #ARRVEC ;   #NN <   #NX =   #NY >   #RC ?                 @                            :     ASSOCIATED          D P@                              ;            d                       &                                           #ARR2D_SP              
   @                              <                     
@ @@                              =                     
@ @@                              >                     
D @@                              ?                                                                   u #HCO_ARRASSERT_2D_HP @   #HCO_ARRASSERT_3D_HP F   #HCO_ARRASSERT_2D_SP M   #HCO_ARRASSERT_3D_SP S   #HCO_ARRASSERT_2D_I Z   #         @     @X                            @                  #HCO_ARRASSERT_2D_HP%ASSOCIATED A   #THISARR2D B   #I C   #J D   #RC E                 @                            A     ASSOCIATED           D P@                              B     d               #ARR2D_HP              
@ @@                              C                     
@ @@                              D                     
D @@                              E            #         @     @X                            F                  #HCO_ARRASSERT_3D_HP%ASSOCIATED G   #THISARR3D H   #I I   #J J   #L K   #RC L                 @                            G     ASSOCIATED           D P@                              H     |               #ARR3D_HP              
@ @@                              I                     
@ @@                              J                     
@ @@                              K                     
D @@                              L            #         @     @X                            M                  #HCO_ARRASSERT_2D_SP%ASSOCIATED N   #THISARR2D O   #I P   #J Q   #RC R                 @                            N     ASSOCIATED           D P@                              O     d               #ARR2D_SP              
@ @@                              P                     
@ @@                              Q                     
D @@                              R            #         @     @X                            S                  #HCO_ARRASSERT_3D_SP%ASSOCIATED T   #THISARR3D U   #I V   #J W   #L X   #RC Y                 @                            T     ASSOCIATED           D P@                              U     |               #ARR3D_SP              
@ @@                              V                     
@ @@                              W                     
@ @@                              X                     
D @@                              Y            #         @     @X                            Z                  #HCO_ARRASSERT_2D_I%ASSOCIATED [   #THISARR2D \   #I ]   #J ^   #RC _                 @                            [     ASSOCIATED           D P@                              \     d               #ARR2D_I              
@ @@                              ]                     
@ @@                              ^                     
D @@                              _                                                                	   u #HCO_ARRCLEANUP_3D_HP `   #HCO_ARRCLEANUP_2D_HP e   #HCO_ARRCLEANUP_2D_I j   #HCO_ARRCLEANUP_3D_SP o   #HCO_ARRCLEANUP_2D_SP t   #HCO_ARRVECCLEANUP_3D_HP y   #HCO_ARRVECCLEANUP_2D_HP    #HCO_ARRVECCLEANUP_3D_SP �   #HCO_ARRVECCLEANUP_2D_SP �   #         @     @X                            `                  #HCO_ARRCLEANUP_3D_HP%PRESENT a   #HCO_ARRCLEANUP_3D_HP%ASSOCIATED b   #ARR c   #DEEPCLEAN d                 @                            a     PRESENT               @                            b     ASSOCIATED           D P@                              c     |               #ARR3D_HP              
 @@                              d           #         @     @X                            e                  #HCO_ARRCLEANUP_2D_HP%PRESENT f   #HCO_ARRCLEANUP_2D_HP%ASSOCIATED g   #ARR h   #DEEPCLEAN i                 @                            f     PRESENT               @                            g     ASSOCIATED           D P@                              h     d               #ARR2D_HP              
 @@                              i           #         @     @X                            j                  #HCO_ARRCLEANUP_2D_I%PRESENT k   #HCO_ARRCLEANUP_2D_I%ASSOCIATED l   #ARR m   #DEEPCLEAN n                 @                            k     PRESENT               @                            l     ASSOCIATED           D P@                              m     d               #ARR2D_I              
 @@                              n           #         @     @X                            o                  #HCO_ARRCLEANUP_3D_SP%PRESENT p   #HCO_ARRCLEANUP_3D_SP%ASSOCIATED q   #ARR r   #DEEPCLEAN s                 @                            p     PRESENT               @                            q     ASSOCIATED           D P@                              r     |               #ARR3D_SP              
 @@                              s           #         @     @X                            t                  #HCO_ARRCLEANUP_2D_SP%PRESENT u   #HCO_ARRCLEANUP_2D_SP%ASSOCIATED v   #ARR w   #DEEPCLEAN x                 @                            u     PRESENT               @                            v     ASSOCIATED           D P@                              w     d               #ARR2D_SP              
 @@                              x           #         @     @X                            y                  #HCO_ARRVECCLEANUP_3D_HP%SIZE z   #HCO_ARRVECCLEANUP_3D_HP%PRESENT {   #HCO_ARRVECCLEANUP_3D_HP%ASSOCIATED |   #ARRVEC }   #DEEPCLEAN ~                 @                            z     SIZE               @                            {     PRESENT               @                            |     ASSOCIATED          DP@                              }            |                       &                                           #ARR3D_HP              
 @@                              ~           #         @     @X                                              #HCO_ARRVECCLEANUP_2D_HP%SIZE �   #HCO_ARRVECCLEANUP_2D_HP%PRESENT �   #HCO_ARRVECCLEANUP_2D_HP%ASSOCIATED �   #ARRVEC �   #DEEPCLEAN �                 @                            �     SIZE               @                            �     PRESENT               @                            �     ASSOCIATED          DP@                              �            d                       &                                           #ARR2D_HP              
 @@                              �           #         @     @X                            �                  #HCO_ARRVECCLEANUP_3D_SP%SIZE �   #HCO_ARRVECCLEANUP_3D_SP%PRESENT �   #HCO_ARRVECCLEANUP_3D_SP%ASSOCIATED �   #ARRVEC �   #DEEPCLEAN �                 @                            �     SIZE               @                            �     PRESENT               @                            �     ASSOCIATED          DP@                              �            |                       &                                           #ARR3D_SP              
 @@                              �           #         @     @X                            �                  #HCO_ARRVECCLEANUP_2D_SP%SIZE �   #HCO_ARRVECCLEANUP_2D_SP%PRESENT �   #HCO_ARRVECCLEANUP_2D_SP%ASSOCIATED �   #ARRVEC �   #DEEPCLEAN �                 @                            �     SIZE               @                            �     PRESENT               @                            �     ASSOCIATED          DP@                              �            d                       &                                           #ARR2D_SP              
 @@                              �                                                        �                                                                                                      �                                                                                                      �                                                       0                                             �                                          �������                                                     �                                                                           @                                'd                     #VAL �   #ALLOC �               �$                             �                              
            &                   &                                                        � $                              �     `                               @                                'd                     #VAL �   #ALLOC �               �$                              �                                          &                   &                                                        � $                              �     `                               @                                'd                     #VAL �   #ALLOC �               �$                             �                              	            &                   &                                                        � $                              �     `                               @                                '|                     #VAL �   #ALLOC �               �$                             �                              
            &                   &                   &                                                        � $                              �     x                               @                                '|                     #VAL �   #ALLOC �               �$                             �                              	            &                   &                   &                                                        � $                              �     x                �   $      fn#fn !   �   q   b   uapp(HCO_ARR_MOD    5  @   J  HCO_ERROR_MOD     u        gen@HCO_ARRINIT "   �  q      HCO_ARRINIT_3D_HP &      V   a   HCO_ARRINIT_3D_HP%ARR %   V  @   a   HCO_ARRINIT_3D_HP%NX %   �  @   a   HCO_ARRINIT_3D_HP%NY %   �  @   a   HCO_ARRINIT_3D_HP%NZ %     @   a   HCO_ARRINIT_3D_HP%RC "   V  i      HCO_ARRINIT_2D_HP &   �  V   a   HCO_ARRINIT_2D_HP%ARR %     @   a   HCO_ARRINIT_2D_HP%NX %   U  @   a   HCO_ARRINIT_2D_HP%NY %   �  @   a   HCO_ARRINIT_2D_HP%RC "   �  q      HCO_ARRINIT_3D_SP &   F  V   a   HCO_ARRINIT_3D_SP%ARR %   �  @   a   HCO_ARRINIT_3D_SP%NX %   �  @   a   HCO_ARRINIT_3D_SP%NY %     @   a   HCO_ARRINIT_3D_SP%NZ %   \  @   a   HCO_ARRINIT_3D_SP%RC "   �  i      HCO_ARRINIT_2D_SP &     V   a   HCO_ARRINIT_2D_SP%ARR %   [  @   a   HCO_ARRINIT_2D_SP%NX %   �  @   a   HCO_ARRINIT_2D_SP%NY %   �  @   a   HCO_ARRINIT_2D_SP%RC !   	  i      HCO_ARRINIT_2D_I %   �	  U   a   HCO_ARRINIT_2D_I%ARR $   �	  @   a   HCO_ARRINIT_2D_I%NX $   
  @   a   HCO_ARRINIT_2D_I%NY $   Y
  @   a   HCO_ARRINIT_2D_I%RC %   �
  �      HCO_ARRVECINIT_3D_HP 0   :  C      HCO_ARRVECINIT_3D_HP%ASSOCIATED ,   }  �   a   HCO_ARRVECINIT_3D_HP%ARRVEC (     @   a   HCO_ARRVECINIT_3D_HP%NN (   W  @   a   HCO_ARRVECINIT_3D_HP%NX (   �  @   a   HCO_ARRVECINIT_3D_HP%NY (   �  @   a   HCO_ARRVECINIT_3D_HP%NZ (     @   a   HCO_ARRVECINIT_3D_HP%RC %   W  �      HCO_ARRVECINIT_2D_HP 0   �  C      HCO_ARRVECINIT_2D_HP%ASSOCIATED ,   3  �   a   HCO_ARRVECINIT_2D_HP%ARRVEC (   �  @   a   HCO_ARRVECINIT_2D_HP%NN (     @   a   HCO_ARRVECINIT_2D_HP%NX (   M  @   a   HCO_ARRVECINIT_2D_HP%NY (   �  @   a   HCO_ARRVECINIT_2D_HP%RC %   �  �      HCO_ARRVECINIT_3D_SP 0   n  C      HCO_ARRVECINIT_3D_SP%ASSOCIATED ,   �  �   a   HCO_ARRVECINIT_3D_SP%ARRVEC (   K  @   a   HCO_ARRVECINIT_3D_SP%NN (   �  @   a   HCO_ARRVECINIT_3D_SP%NX (   �  @   a   HCO_ARRVECINIT_3D_SP%NY (     @   a   HCO_ARRVECINIT_3D_SP%NZ (   K  @   a   HCO_ARRVECINIT_3D_SP%RC %   �  �      HCO_ARRVECINIT_2D_SP 0   $  C      HCO_ARRVECINIT_2D_SP%ASSOCIATED ,   g  �   a   HCO_ARRVECINIT_2D_SP%ARRVEC (     @   a   HCO_ARRVECINIT_2D_SP%NN (   A  @   a   HCO_ARRVECINIT_2D_SP%NX (   �  @   a   HCO_ARRVECINIT_2D_SP%NY (   �  @   a   HCO_ARRVECINIT_2D_SP%RC "     �       gen@HCO_ARRASSERT $   �  �      HCO_ARRASSERT_2D_HP /   N  C      HCO_ARRASSERT_2D_HP%ASSOCIATED .   �  V   a   HCO_ARRASSERT_2D_HP%THISARR2D &   �  @   a   HCO_ARRASSERT_2D_HP%I &   '  @   a   HCO_ARRASSERT_2D_HP%J '   g  @   a   HCO_ARRASSERT_2D_HP%RC $   �  �      HCO_ARRASSERT_3D_HP /   ?  C      HCO_ARRASSERT_3D_HP%ASSOCIATED .   �  V   a   HCO_ARRASSERT_3D_HP%THISARR3D &   �  @   a   HCO_ARRASSERT_3D_HP%I &     @   a   HCO_ARRASSERT_3D_HP%J &   X  @   a   HCO_ARRASSERT_3D_HP%L '   �  @   a   HCO_ARRASSERT_3D_HP%RC $   �  �      HCO_ARRASSERT_2D_SP /   i  C      HCO_ARRASSERT_2D_SP%ASSOCIATED .   �  V   a   HCO_ARRASSERT_2D_SP%THISARR2D &     @   a   HCO_ARRASSERT_2D_SP%I &   B  @   a   HCO_ARRASSERT_2D_SP%J '   �  @   a   HCO_ARRASSERT_2D_SP%RC $   �  �      HCO_ARRASSERT_3D_SP /   Z  C      HCO_ARRASSERT_3D_SP%ASSOCIATED .   �  V   a   HCO_ARRASSERT_3D_SP%THISARR3D &   �  @   a   HCO_ARRASSERT_3D_SP%I &   3  @   a   HCO_ARRASSERT_3D_SP%J &   s  @   a   HCO_ARRASSERT_3D_SP%L '   �  @   a   HCO_ARRASSERT_3D_SP%RC #   �  �      HCO_ARRASSERT_2D_I .   �  C      HCO_ARRASSERT_2D_I%ASSOCIATED -   �  U   a   HCO_ARRASSERT_2D_I%THISARR2D %     @   a   HCO_ARRASSERT_2D_I%I %   [  @   a   HCO_ARRASSERT_2D_I%J &   �  @   a   HCO_ARRASSERT_2D_I%RC #   �  5      gen@HCO_ARRCLEANUP %   !  �      HCO_ARRCLEANUP_3D_HP -   �!  @      HCO_ARRCLEANUP_3D_HP%PRESENT 0   �!  C      HCO_ARRCLEANUP_3D_HP%ASSOCIATED )   :"  V   a   HCO_ARRCLEANUP_3D_HP%ARR /   �"  @   a   HCO_ARRCLEANUP_3D_HP%DEEPCLEAN %   �"  �      HCO_ARRCLEANUP_2D_HP -   w#  @      HCO_ARRCLEANUP_2D_HP%PRESENT 0   �#  C      HCO_ARRCLEANUP_2D_HP%ASSOCIATED )   �#  V   a   HCO_ARRCLEANUP_2D_HP%ARR /   P$  @   a   HCO_ARRCLEANUP_2D_HP%DEEPCLEAN $   �$  �      HCO_ARRCLEANUP_2D_I ,   5%  @      HCO_ARRCLEANUP_2D_I%PRESENT /   u%  C      HCO_ARRCLEANUP_2D_I%ASSOCIATED (   �%  U   a   HCO_ARRCLEANUP_2D_I%ARR .   &  @   a   HCO_ARRCLEANUP_2D_I%DEEPCLEAN %   M&  �      HCO_ARRCLEANUP_3D_SP -   �&  @      HCO_ARRCLEANUP_3D_SP%PRESENT 0   4'  C      HCO_ARRCLEANUP_3D_SP%ASSOCIATED )   w'  V   a   HCO_ARRCLEANUP_3D_SP%ARR /   �'  @   a   HCO_ARRCLEANUP_3D_SP%DEEPCLEAN %   (  �      HCO_ARRCLEANUP_2D_SP -   �(  @      HCO_ARRCLEANUP_2D_SP%PRESENT 0   �(  C      HCO_ARRCLEANUP_2D_SP%ASSOCIATED )   7)  V   a   HCO_ARRCLEANUP_2D_SP%ARR /   �)  @   a   HCO_ARRCLEANUP_2D_SP%DEEPCLEAN (   �)  �      HCO_ARRVECCLEANUP_3D_HP -   �*  =      HCO_ARRVECCLEANUP_3D_HP%SIZE 0   �*  @      HCO_ARRVECCLEANUP_3D_HP%PRESENT 3   +  C      HCO_ARRVECCLEANUP_3D_HP%ASSOCIATED /   _+  �   a   HCO_ARRVECCLEANUP_3D_HP%ARRVEC 2   �+  @   a   HCO_ARRVECCLEANUP_3D_HP%DEEPCLEAN (   9,  �      HCO_ARRVECCLEANUP_2D_HP -   -  =      HCO_ARRVECCLEANUP_2D_HP%SIZE 0   H-  @      HCO_ARRVECCLEANUP_2D_HP%PRESENT 3   �-  C      HCO_ARRVECCLEANUP_2D_HP%ASSOCIATED /   �-  �   a   HCO_ARRVECCLEANUP_2D_HP%ARRVEC 2   e.  @   a   HCO_ARRVECCLEANUP_2D_HP%DEEPCLEAN (   �.  �      HCO_ARRVECCLEANUP_3D_SP -   w/  =      HCO_ARRVECCLEANUP_3D_SP%SIZE 0   �/  @      HCO_ARRVECCLEANUP_3D_SP%PRESENT 3   �/  C      HCO_ARRVECCLEANUP_3D_SP%ASSOCIATED /   70  �   a   HCO_ARRVECCLEANUP_3D_SP%ARRVEC 2   �0  @   a   HCO_ARRVECCLEANUP_3D_SP%DEEPCLEAN (   1  �      HCO_ARRVECCLEANUP_2D_SP -   �1  =      HCO_ARRVECCLEANUP_2D_SP%SIZE 0    2  @      HCO_ARRVECCLEANUP_2D_SP%PRESENT 3   `2  C      HCO_ARRVECCLEANUP_2D_SP%ASSOCIATED /   �2  �   a   HCO_ARRVECCLEANUP_2D_SP%ARRVEC 2   =3  @   a   HCO_ARRVECCLEANUP_2D_SP%DEEPCLEAN !   }3  p       HP+HCO_ERROR_MOD !   �3  p       SP+HCO_ERROR_MOD *   ]4  q       HCO_SUCCESS+HCO_ERROR_MOD '   �4  p       HCO_FAIL+HCO_ERROR_MOD !   >5  p       DP+HCO_ERROR_MOD    �5  d       ARR2D_HP    6  �   a   ARR2D_HP%VAL    �6  H   a   ARR2D_HP%ALLOC    7  d       ARR2D_I    j7  �   a   ARR2D_I%VAL    8  H   a   ARR2D_I%ALLOC    ^8  d       ARR2D_SP    �8  �   a   ARR2D_SP%VAL    n9  H   a   ARR2D_SP%ALLOC    �9  d       ARR3D_HP    :  �   a   ARR3D_HP%VAL    �:  H   a   ARR3D_HP%ALLOC    &;  d       ARR3D_SP    �;  �   a   ARR3D_SP%VAL    N<  H   a   ARR3D_SP%ALLOC 